1. Field of the Invention
The present invention relates to network technology. More particularly, the present invention relates to providing mobility of a node that does not support mobility.
2. Description of the Related Art
Mobile IP is a protocol which allows laptop computers or other mobile computer units (referred to herein as xe2x80x9cMobile Nodesxe2x80x9d) to roam between various sub-networks at various locationsxe2x80x94while maintaining internet and/or WAN connectivity. Without Mobile IP or related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and implemented. An implementation of Mobile IP is described in RFC 2002 of the IP Routing for Wireless/Mobile Hosts (Mobile IP) Working Group, C. Perkins, Ed., October 1996. Mobile IP is also described in the text xe2x80x9cMobile IP Unpluggedxe2x80x9d by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1. As shown, a Mobile IP environment 2 includes the internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent 10. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) connected to its home network segment (in a wired or wireless network) connects with the internet through its designated Home Agent. When the Mobile Node roams, it communicates via the internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1, Mobile Node 6 normally resides on (or is xe2x80x9cbased atxe2x80x9d) a network segment 12 which allows its network entities to communicate over the internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the internet. For example, as shown in FIG. 1, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the internet.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams to a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various solicitations and advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request from the Mobile Node 6 to Home Agent 8 (as indicated by the dotted line xe2x80x9cRegistrationxe2x80x9d). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node""s attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 updates an internal xe2x80x9cmobility binding tablexe2x80x9d which specifies the care-of address (e.g., the Foreign Agent""s IP address) in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 updates an internal xe2x80x9cvisitor tablexe2x80x9d which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node""s home base IP address (associated with segment 12) has been shifted to the Foreign Agent""s IP address (associated with segment 14).
Now, suppose that Mobile Node 6 wishes to send a message to a corresponding node 18 from its new location. A message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the internet 4 and to corresponding node 18 (as indicated by the dotted line xe2x80x9cpacket from MNxe2x80x9d) according to a standard internet protocol. If corresponding node 18 wishes to send a message to Mobile Nodexe2x80x94whether in reply to a message from the Mobile Node or for any other reasonxe2x80x94it addresses that message to the to IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the internet 4 and to router RI and ultimately to Home Agent 8 as indicated by the dotted line (xe2x80x9cpacket to MN(1)xe2x80x9d). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from corresponding node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a xe2x80x9ccare ofxe2x80x9d address for Mobile Node 6 as shown by the dotted line (xe2x80x9cpacket to MN(2)xe2x80x9d). The care-of address may be, for example, the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on network segment 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as xe2x80x9ctunneling.xe2x80x9d
As described above, a Mobile Node may register with its Home Agent after roaming to a Foreign Agent. The Mobile Node may then further roam to a second Foreign Agent. Upon de-registering, the Mobile Node then may again register with its Home Agent so that it may receive packets via the second Foreign Agent. Thus, through the registration process, a Mobile Node may receive packets sent to it by a Corresponding Node via the Foreign Agent that the Mobile Node is visiting.
Currently, Mobile IP as described in RFC 2002 requires that Mobile Nodes (e.g., laptops, cell phones) implement the Mobile IP protocol. However, major operating system vendors are not currently implementing the Mobile IP protocol in their operating system software. Similarly, proprietary operating systems typically do not implement the Mobile IP protocol. Thus, although a node may theoretically achieve mobility through the Mobile IP protocol, this feature is not commonly available to today""s consumers.
In view of the above, it would be desirable to have techniques for implementing mobility in nodes without implementing mobility support (e.g., Mobile IP software) in the nodes themselves.
The present invention provides methods and apparatus for enabling a node that does not support Mobile IP to roam to various Foreign Agents so that it may receive packets sent to it by a corresponding node. This is accomplished, in part, through enabling a Foreign Agent to independently perform registration on behalf of the node. In addition, a Home Agent associated with the node independently performs de-registration on behalf of the node when the node roams to a Foreign Agent from the Home Agent or another Foreign Agent. It is important to note that this is achieved without any communication from the node indicating its desire to register or de-register. Moreover, because the node does not implement the Mobile IP protocol, it is desirable to implement a virtual Foreign Agent such that the node appears to send a packet to only one Foreign Agent rather than to different Foreign Agents each time the node roams to a new Foreign Agent.
Since the node does not support Mobile IP, it is preferable that it appears to the node that the node is sending and receiving packets through only one router (e.g., Foreign Agent) that is the default gateway. According to one aspect of the invention, this is accomplished through the implementation of a virtual Foreign Agent. Thus, in a Foreign Agent supporting Mobile IP, a method of implementing a virtual Foreign Agent in a network having a plurality of Foreign Agents includes associating a single dummy interface IP address with an interface of each one of the plurality of Foreign Agents. In this manner, a dummy interface IP address is associated with each Foreign Agent, thereby facilitating communication between the node and one of the Foreign Agents via the dummy interface IP address. According to one embodiment, an interface of each of the Foreign Agents is associated with the same MAC address. According to another embodiment, an interface of each of the Foreign Agents is associated with a different MAC address. Upon completion of the proxy registration, the Foreign agent may update the node with the MAC address of the default gateway through a gratuitous ARP where the Foreign Agents are associated with different MAC addresses. The dummy interface IP address (i.e., virtual agent IP address) is then mapped (e.g., in the node""s Address Resolution Protocol (ARP) table) to the MAC address of the appropriate foreign agent (i.e., virtual agent MAC address). Accordingly, the present invention enables a node that does not implement the Mobile IP protocol to roam to Foreign Agents and therefore send packets to-the default gateway (e.g., Foreign Agent). Once the Foreign Agent receives a packet (e.g., data packet), it will send a registration request to the node""s Home Agent on behalf of the node. Upon completion of the node""s registration with the node""s Home Agent, the Foreign Agent may then forward packets received from the Home Agent to the node. Accordingly, through the use of the present invention, a node that does not support mobility can receive packets addressed to it through the virtual Foreign Agent.
Alternatively, according to another aspect of the invention, rather than maintaining a different MAC address for each Foreign Agent, a single MAC address is associated with multiple Foreign Agents. In addition, a node will include a mapping between the MAC address and the default gateway""s IP address. In a network such as a wireless network, only one Foreign Agent will be connected at any point in time. Accordingly, a node may successfully send packets to the single MAC address so that they are received by the appropriate Foreign Agent.
According to another aspect of the invention, a Foreign Agent initiates registration on behalf of the node. First, the Foreign Agent detects a node in a vicinity of the Foreign Agent. For instance, the node may be detected when an ARP request is received, or when a data or access point control packet is received. Upon detection of the node, a registration request specifying a node ID associated with the node (e.g., Home Address) is composed. The registration request is then sent to the Home Agent. Once registered, the Foreign Agent may receive a registration reply from a Home Agent associated with the node. Upon receipt of the registration reply, the Foreign Agent may determine from the registration reply the success or failure of the registration.
According to yet another aspect of the invention, the Home Agent performs de-registration on behalf of the node. Upon receiving the registration request from a first Foreign Agent, the Home Agent updates a mobility binding table to associate the first Foreign Agent with the node. In addition, the Home Agent notifies a second Foreign Agent to update its visitor table to reflect roaming of the node from the second Foreign Agent to the first Foreign Agent. Moreover, when a node returns to its Home Agent, the Home Agent updates its mobility binding table and notifies the previous Foreign Agent to update its visitor table accordingly. In this manner, registration and de-registration on behalf of a node that does not support Mobile IP may be implemented. Accordingly, the node may effectively roam to various Foreign Agents within a network even though it does not implement the Mobile IP protocol.